Echec & Mat Version 0.21 Par Olivier Soares et Frederic Roger Echec & Mat est un projet d'Algorithmique de 1ere annee de l'ESIL-ES2i (http://www.esil.univ-mrs.fr). Il a ete commence en Decembre 1999 pour etre rendu en Fevrier 2000. Cette version est encore une beta version du programme. Elle n'est pas stable a 100% et ne comporte pas toutes les options finales. Elle utilise l'algorithme de coupure alpha-beta. Ce logiciel est sous license GPL : il peut etre distribue gratuitement sous n'importe quel support sous reserve d'avoir ses sources livrees avec. Si vous continuez le developpement du jeu, merci de nous joindre une copie de votre travail pour que nous voyons un peu les ameliorations faites (cf nos coordonnees plus bas). Merci d'avance. Quoi de neuf depuis les dernieres versions ? - 0.21 meilleur compilation (optimisations) compilation avec les flags -Wall et -O2 (plus mieux) - 0.20r2 nouveau generateur aleatoire implante (ne plante plus) amelioration de la fonction dejouer (en cas de prise des noirs) - 0.20final inversion de l'echiquier en cas de prise des noirs fonction dejouer entierement operationnelle optimisations diverses - 0.20pre6 implantation de la fonction dejouer (marche a moitie) et de son icone implantation de l'aide resolution d'un bug de la fonction type_piece resolution de l'instabilite du jeu - 0.20pre5 compilation separee petites ameliorations diverses - 0.20pre4 resolution des bugs graphiques fonction dejouer construite optimisation de la memoire - 0.20pre3 gestions de toutes les regles du jeu d'echec (enfin je crois) amelioration de la procedure d'evaluation (quasi finale) debugage de la plupart des fonctions probleme avec les icones aide et reseau non resolu (ca plante) - 0.20pre2 amelioration de la gestion des fenetres (tres instable pour le moment) amelioration de la procedure d'evaluation (plus lent aussi) petits changements divers - 0.20pre1 gestion des fenetres (primaire) amelioration de l'interface utilisateur (legere) 2 modes de deplacements integres : click ou glisse (whaooo) amelioration des fonctions d'evaluation (plus rapide) gestion (primaire) des sauvegardes ajout d'un mode de jeu (posibilite de revoir sa partie) fonction deplace modifiee (gestion interne des pions dans le camp adverse) corrections de petits bugs dans la procedure d'evaluation - 0.14 gestion complete du roque gestion quasi complete du pat changements dans la procedure d'evaluation petits changements divers - 0.13 gestion du roque (a moitie) gestion du pat (a moitie aussi) optimisation du code Projets : Les prochaines versions 0.2x integreront un environnement graphique complet (choix des parties, menu deroulants, fenetres) ainsi qu'un environnement sonore et toujours une optimisation de la procedure d'evaluation. De nouveaux modes de jeux seront aussi disponibles (Bliz, etc.). Les versions 0.3x integreront la bibliotheque d'ouverture (bibliotheque permettant de jouer des coups "historiques" ce qui ameliorera de facon significative l'IA), le mode reseau (serie, ipx et tcp/ip) ainsi que des graphismes ameliores avec choix de plusieurs environnements possibles. ... et il y aura aussi peut etre de la 3D ... Et elle sort quand la version complete 1.0 ? Lorsque nous seront entierement satisfaits de la procedure d'evaluation, des graphismes et du son, de la stabilite et que nous n'auront plus d'idees. Elle devrait sortir avant 2010 si tout ce passe bien. Pour programmer, nous utilisons DJGPP (car il est libre) avec la bibliotheque graphique ALLEGRO (un peu lourde mais tres bien). Le jeu sera developpe avec la bibliotheque SDL qui nous permettra de porter le jeu sous GNU-Linux et BeOS. Toutes les images utilisees dans ce jeu font partie du domaine public. Pour quitter le jeu : - soit vous attendez l'echec et mat ou le pat - soit vous cliquez sur Quitter quand c'est a vous de jouer - soit vous appuyez sur Ctrl+C (barbare mais c'est mieux que Ctrl+Alt+Suppr) Trois niveaux de difficulte sont offerts : cela fait varier la profondeur de recurrence, c'est a dire le nombre de coups prevus a l'avance par le cpu. Pour l'instant seuls les niveaux 1, 2 (et 3 ?) sont jouables. Pour vous donner une idee du jeu, jouez en mode 2. Niveau et puissance CPU (va etre largement ameliore). Jouable sur : - Niveau 1 : Intel 386 - Niveau 2 : Intel 486 - petit Pentium - Niveau 3 : Intel Pentium (Celeron) 600 / AMD Athlon (K6) 600 - Autres niveaux : trop lent pour le moment (ou bien si vous avez un bi-Pentium X 5000 Ghz ca peut marcher) mais vous pouvez quand meme les utiliser (tapez simplement un chiffre > 3 meme si ce n'est pas indique). Temps observes avant que le cpu joue en debut de partie (premier coup) sur un cpu de type Pentium a 500 Mhz : - Niveau 1 : 0.1 seconde (1283 echiquiers generes) - Niveau 2 : 2 secondes (28470 echiquiers generes) - Niveau 3 : 50 secondes (633135 echiquiers generes) Vous pouvez telecharger les versions ulterieures du jeu sur les sites web : - http://www.esil.univ-mrs.fr/~osoares - http://www.esil.univ-mrs.fr/~froger Vous pouvez nous joindre, pour toutes questions, remarques, bug decouvert, etc. (envoyez nous plein de commentaires) a : Olivier Soares : osoares@esil.univ-mrs.fr Frederic Roger : froger@esil.univ-mrs.fr N'oubliez pas que les parties sont sauvegardees a la fin dans le fichier chess.sav (efface a chaque partie !). Vous pourrez nous joindre ce fichier si vous voyez quelque chose d'etrange dans le jeu du cpu. Juin 2000